﻿using CleanArchitecture.Infrastructure.Entities.AdminUsers;
using CleanArchitecture.Infrastructure.Entities.Business;
using CleanArchitecture.Infrastructure.Entities.Customers;

namespace CleanArchitecture.Infrastructure.Interfaces
{
    /// <summary>
    /// Represents work context
    /// </summary>
    public interface IWorkContext
    {
        /// <summary>
        /// Gets or sets the current adminuser
        /// </summary>
        AdminUser CurrentAdminUser { get; set; }

        bool IsAdmin { get; }

        /// <summary>
        /// Gets or sets current user working language
        /// </summary>
        Language WorkingLanguage { get; set; }

        Customer CurrentCustomer { get; set; }
    }
}
